package com.armani.service;

import com.armani.entity.ItemType;
import com.armani.model.TypeModel;

import java.util.List;
import java.util.Map;

/**
 * @ClassName TypeService
 * @Description 商品类别接口
 * @Author Admin
 * @Date 2021/11/27 9:08
 * @Version 1.0
 **/

public interface TypeService {
    /**
     * @MethodName pageSearch
     * @Description 查询
     * @Param startRow
     * @Param limit
     * @Return java.util.List<com.armani.entity.ItemType>
     * @Author Admain
     * @Date 2021/11/28 23:10
     **/
    List<ItemType> pageSearch(Integer startRow, Integer limit, Integer id);

    /**
     * @MethodName getCount
     * @Description 查询总条数
     * @Return java.lang.Integer
     * @Author Admain
     * @Date 2021/11/28 23:10
     **/
    Integer getCount(Integer id);

    /**
     * @MethodName insert
     * @Description 添加
     * @Param title 分类名称
     * @Param parentId 父类
     * @Param sort 排序
     * @Return java.lang.Integer
     * @Author Admain
     * @Date 2021/11/28 23:11
     **/
    Integer insert(String title, Integer parentId, Integer sort);

    /**
     * @MethodName update
     * @Description 修改
     * @Param id 类别id
     * @Param title 分类名称
     * @Param parentId 父类
     * @Param sort 排序
     * @Return java.lang.Integer
     * @Author Admain
     * @Date 2021/11/28 23:13
     **/
    Integer update(Integer id, String title, Integer parentId, Integer sort);

    /**
     * @MethodName delete
     * @Description 删除
     * @Param id 类别id
     * @Return java.lang.Integer
     * @Author Admain
     * @Date 2021/11/28 23:14
     **/
    Integer delete(Integer id);

    /**
     * 查询所有分类并设置子节点
     *
     * @return 分类列表集合
     */
    List<TypeModel> typeList();

    /**
     * 添加分类
     * @param params 参数
     * @return 影响行数
     */
    Integer typeAdd(Map<String ,Object> params);
}
